package com.miyu.system.utils.enumeration;

import com.alibaba.fastjson2.JSONObject;
import com.miyu.common.utils.commonUtils.MessageType;
import lombok.AllArgsConstructor;

import lombok.Getter;
import lombok.ToString;

/**
 * 登录枚举
 * code 唯一编码
 * msg 提示信息
 * status 状态提示信息 -1 错误 1 正确,2 警告
 * @author longm
 * @date 2022/10/10
 */
@Getter
@ToString
@AllArgsConstructor
public enum  LoginEnum {
    /** 登录成功 */
    LOGIN_SUCCESS("1000", "登录成功", MessageType.SUCCESS.getType()),
    /** 登录错误 */
    LOGIN_ERROR("1001", "账号或密码错误！",MessageType.WARNING.getType()),
    /** 代码错误 */
    CODE_ERROR("1002","验证码错误！",MessageType.WARNING.getType()),
    /** 代码刷新 */
    CODE_REFRESH("1003","请刷新验证码！",MessageType.WARNING.getType()),
    /** 用户使用 */
    USER_USE("1004","当前用户不可使用！",MessageType.WARNING.getType()),
    /** 用户停止 */
    USER_STOP("1005","当前用户已停用",MessageType.WARNING.getType()),
    /**  */
    USER_NO_LOGIN("1006","当前未登录，无需退出",MessageType.WARNING.getType()),
    /** 用户登录 */
    USER_LOGIN_OUT("1007","退出成功", MessageType.SUCCESS.getType());





    private final  String code;
    private final String msg;
    private final Integer status;

    /**
     * 根据编码获取返回信息JSON字符串
     *
     * @param code 代码
     * @return {@link JSONObject}
     */
    public static JSONObject getInfoByCode(String code) {
        JSONObject result = new JSONObject();
        for (LoginEnum s : values()) {
            if (s.getCode().equals(code)) {
                result.put("code",s.getCode());
                result.put("msg",s.getMsg());
                result.put("status",s.getStatus());
                break;
            }
        }
        return result;
    }
}
